import VXETable from 'vxe-table'
import {h} from "vue"
import FilterInput from './FilterInput.vue'

VXETable.renderer.add('FilterInput', {
    renderFilter (renderOpts, params) {
        return [
            h(FilterInput, {
                params: params,
            })
        ]
    },
    filterResetMethod(params) {
        const { options } = params;
        options.forEach((option) => {
            option.data = '';
        });
    },
    // 自定义重置筛选复原方法（当未点击确认时，该选项将被恢复为默认值）
    filterRecoverMethod({ option }) {
        option.data = '';
    },
    // 自定义筛选方法
    filterMethod(params) {
        const { option, row, column } = params;
        const { data } = option;
        const cellValue = row[column.field];
        if (cellValue) {
            return cellValue.indexOf(data) > -1;
        }
        return false;
    }
})
